package kr.co.doriclassic.dataEx;

public class BinarySearch {
	private static int size = 7;
	private int[] arr=new int[size];
	public BinarySearch(int[] arr) {
		for (int i = 0; i < arr.length; i++) {
			this.arr[i]=arr[i];
		}
	}
//	a - 검색되는 배열
//	left - 검색되는 최초의 요소 (범위내)의 인덱스
//	right - 검색되는 마지막 요소 (범위외)의 인덱스
//	key - 검색되는 값 
	
	public int binarySearch(int[] a, int left, int right, int key){
		int mid = (left+right)/2;
		while(true){
			try {
				if(key>a[mid]){
					mid++;
				}
				else if(key<a[mid]){
					mid--;
				}
				else {
					return mid+1;
				}
					
			} catch (ArrayIndexOutOfBoundsException e) {
				return -1;
			}
		}		
	}
			
	public void arraySort(int[] arr){
		int temp;
		for(int i=0;i<arr.length;i++){
			for(int j=0;j<i;j++){
				
				if(arr[i]<arr[j]){
					temp = arr[i];
					arr[i] = arr[j];
					arr[j] = temp;
				}				
			}
		}
	} 
	
	public void prnArr(int[] arr){
		System.out.print("[ ");

		for (int i : arr) {
			System.out.printf("%-2d",i);
		}
		System.out.println("]");
	}
}
